Date: Wed, 01 Nov 2006 00:02:24 -0800 From: perryh@pluto.rain.com To: mexas@bristol.ac.uk Cc: freebsd-questions@freebsd.org Subject: Re: lpt0 printer slows system response significantly Message-ID: <45485490.D5trgMIQ1JYsEyMX%perryh@pluto.rain.com> In-Reply-To: <20061101000426.GA60303@mech-aslap33.men.bris.ac.uk> References: <20061101000426.GA60303@mech-aslap33.men.bris.ac.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
> PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND > 18 root 1 -60 -179 0K 8K *Giant 15:09 77.05% irq7: lpt0 > 11 root 1 171 52 0K 8K RUN 48.0H 11.13% idle The interrupt service for the parallel port is using over 3/4 of the CPU, and half of the rest is "idle". I take it this is a laser printer, which can consume bytes from the parallel port as fast as the processor can send them. Top-of-head dump of ways to cut down on the interrupt traffic: * Get a DMA-capable parallel port (supposing such exist, and FreeBSD supports them); * Move the printer to a network connection or dedicated print server; * Somehow tell the printer not to receive so quickly. Alternatively, one possible way to handle that sort of interrupt load without bogging down is to get a second CPU and run SMP, so you've still got a CPU available for tasks when one is swamped with interrupt traffic. The other thing that *might* help some is more RAM, if it happens that the idle time is caused by page wait due to the set of active threads needing more RAM than you have, but this will at best get your tasks up from 1/9 of the CPU to 2/9.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45485490.D5trgMIQ1JYsEyMX%perryh>